package com.fan.analysis.module.analysis.group.service;


import com.fan.analysis.common.domain.ResponseDTO;
import com.fan.analysis.module.analysis.group.domain.vo.GroupInfoVo;
import com.fan.analysis.module.analysis.group.domain.vo.GroupVo;
import com.fan.analysis.module.analysis.group.domain.vo.KeyPersonInfoVo;
import com.fan.analysis.module.analysis.group.domain.vo.UserGroupVo;

import java.util.List;

/**
 * 用户群体识别服务接口类
 *
 * @author fan
 * @date 2021/10/01 18:26
 **/
public interface UserGroupService {

    /**
     * 获取节点和关系
     *
     * @param phoneNum 手机号
     * @return 返回节点和关系
     */
    ResponseDTO<UserGroupVo> getNodeLinkGroupInfo(String phoneNum);

    /**
     * 获取用户常用联系人
     *
     * @param phoneNum 手机号
     * @return 返回常用联系人
     */
    ResponseDTO<KeyPersonInfoVo> getKeyPersonInfo(String phoneNum);

    /**
     * 通过群体id获取群体信息
     *
     * @param groupId 群体id
     * @return 返回群体信息
     */
    ResponseDTO<GroupInfoVo> getGroup(String groupId);

    /**
     * 通过关键词获取群体信息
     *
     * @param groupKeyword 群体关键词
     * @return 群体信息
     */
    ResponseDTO<List<GroupVo>> getGroupInfo(String groupKeyword);
}
